#ifndef _PM_PROJECT_IMPL_HPP_
#define _PM_PROJECT_IMPL_HPP_

#include "api/pm_project.hpp"
#include <vector>

/*---------------------------------------------------------------------------*/

namespace ProjectManager {

/*---------------------------------------------------------------------------*/

class ProjectImpl
	:	public Project
{
/*---------------------------------------------------------------------------*/

public:

/*---------------------------------------------------------------------------*/

	ProjectImpl( const std::string& _name );

	~ProjectImpl();

	const std::string& getName() const;

	void setName( const std::string& _name );

	virtual Flow& createFlow( const std::string& _name );

	int getFlowsCount() const;

	const Flow& getFlow( int _idx ) const;

/*---------------------------------------------------------------------------*/

private:

/*---------------------------------------------------------------------------*/

	std::string m_name;

	std::vector< Flow* > m_flows;

/*---------------------------------------------------------------------------*/

};

/*---------------------------------------------------------------------------*/

} // namespace ProjectManager

/*---------------------------------------------------------------------------*/

#endif // _PM_PROJECT_IMPL_HPP_
